#pragma once
#include <zGraphicsConfig.hpp>
#include "../Shader/Shader.hpp"
#include "Script.hpp"

namespace zzz {
//template<>
//static bool Script<Shader>::LoadFromMemory(istringstream &iss, Shader &shader, const string &path);

class ZGRAPHICS_CLASS ShaderScriptHelper {
public:
  static bool LoadShaderFile(const char * vertexFile, const char * fragmentFile, const char * geometryFile, Shader *shader);
  static bool LoadShaderMemory(const char * vertexMem,const char * fragmentMem, const char *geometryMen, Shader *shader);
  static Shader *LoadShaderFile(const char * vertexFile, const char * fragmentFile, const char * geometryFile);
  static Shader *LoadShaderMemory(const char * vertexMem,const char * fragmentMem, const char *geometryMen);
};

class ZGRAPHICS_CLASS ShaderScript : public Script<Shader>, public ShaderScriptHelper {

};

}
